package com.hisicom.scqxspxcjc.sceneCheck.systemCheck.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hisicom.scqxspxcjc.base.bean.BaseEntity;
import com.hisicom.scqxspxcjc.base.tool.comment.OComment;
import com.hisicom.scqxspxcjc.common.file.bean.FileBean;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
import java.util.List;

/**
 * 体系核查子流程对象 ylqx_system_check
 *
 * @author hisicom
 * @date 2023-06-15
 */
@Data
@Entity
@Table(name = "ylqx_system_check")
public class SystemCheck extends BaseEntity {
    @OComment("创建人")
    @Column(name = "create_by", length = 64)
    private String createBy;

    @OComment("修改人")
    @Column(name = "update_by", length = 64)
    private String updateBy;

    @OComment("修改时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Column(name = "update_time")
    private Date updateTime;

    @OComment("主流程id")
    @Column(name = "main_business_id", columnDefinition = "char(32)")
    private String mainBusinessId;

    @OComment("流程开启时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Column(name = "start_date")
    private Date startDate;

    @OComment("流程结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Column(name = "end_date")
    private Date endDate;

    @OComment("任务id")
    @Column(name = "task_id", columnDefinition = "char(32)")
    private String taskId;

    @OComment("环节名称")
    @Column(name = "flow_name", length = 255)
    private String flowName;

    @OComment("环节编号")
    @Column(name = "flow_rank", length = 255)
    private String flowRank;

    @OComment("流程实例id")
    @Column(name = "process_instance_id", columnDefinition = "char(32)")
    private String processInstanceId;

    @OComment("产品名称")
    @Column(name = "cpmc", length = 255)
    private String cpmc;

    @OComment("受理号")
    @Column(name = "acceptance_number", length = 255)
    private String acceptanceNumber;

    @OComment("企业名称")
    @Column(name = "corp_name", length = 255)
    private String corpName;

    @OComment("事项类型")
    @Column(name = "data_type", length = 64)
    private String dataType;

    @OComment("产品类别")
    @Column(name = "product_category", length = 64)
    private String productCategory;

    @OComment("分类编码")
    @Column(name = "flbm", length = 64)
    private String flbm;
    //(t08现场检查，T12-2，复查 )
    @OComment("环节状态")
    @Column(name = "status", length = 64)
    private String status;

    @OComment("设置子流程状态(详细的)")
    @Column(name = "sub_detail_status", length = 255)
    private String subDetailStatus;

    @OComment("子流程现场核查是否走过补正(01未走过,02走过)")
    @Column(name = "sub_xchc_is_review", length = 8)
    private String subXchcIsReview;

    @OComment("是否整改中")
    @Column(name = "sub_xchc_is_on_hczg", length = 4)
    private String subXchcIsOnHczg;

    @OComment("主审")
    @Column(name = "judge", length = 64)
    private String judge;

    @OComment("资料审查人员ID")
    @Column(name = "sub_xchc_zlsc_user", columnDefinition = "char(32)")
    private String subXchcZlscUser;

    @OComment("流程状态（1正常，2结束）")
    @Column(name = "sub_status", length = 8)
    private String subStatus;

    @OComment("补正时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Column(name = "sub_xchc_zlscbz_time")
    private Date subXchcZlscbzTime;

    @OComment("补正状态")
    @Column(name = "sub_xchc_zlscbz_status", length = 64)
    private String subXchcZlscbzStatus;

    @OComment("发补标识(原c3)")
    @Column(name = "correction_status", length = 64)
    private String correctionStatus;

    @OComment("补正标识(原c28)")
    @Column(name = "mark", length = 64)
    private String mark;

    @OComment("第二次现场核查办理人")
    @Column(name = "sub_xchc_two_user", length = 64)
    private String subXchcTwoUser;

    @OComment("第一次现场核查办理人")
    @Column(name = "sub_xchc_one_user", length = 64)
    private String subXchcOneUser;

    @OComment("是否整改过(原c29)(器械生成许可新办、变更 02是 延续 04是，)是否需要二次整改(10是 02否)")
    @Column(name = "is_zg", length = 8)
    private String isZg;

    @OComment("整改状态(原c24)（1：已整改；2：不在整改中；）")
    @Column(name = "zg_status", length = 8)
    private String zgStatus;

    @OComment("办理结论(原c9)")
    @Column(name = "assign_result", length = 1024)
    private String assignResult;

    @OComment("统一审批编码")
    @Column(name = "approval_code", length = 64)
    private String approvalCode;

    @OComment("分组id")
    @Column(name = "group_id", length = 64)
    private String groupId;
    @OComment("分组id")
    @Column(name = "frist_group_id", length = 64)
    private String fristGroupId;
    @OComment("账号")
    @Column(name = "account", length = 64)
    private String account;
    @OComment("密码")
    @Column(name = "password", length = 64)
    private String password;
    @OComment("产品类别")
    @Column(length = 64)
    private String cplb;
    @OComment("是否创新产品")
    @Column(length = 4)
    private String sfcxcp;
    @OComment("申请人住所")
    @Column(length = 1024)
    private String sqrzs;
    @OComment("联系人")
    @Column(length = 64)
    private String lxr;
    @OComment("联系人手机")
    @Column(length = 64)
    private String lxrsjh;
    @OComment("生产地址")
    @Column(length = 1024)
    private String scdz;
    @OComment("是否委托生产")
    @Column(length = 4)
    private String sfwtsc;
    @OComment("委托生产企业")
    @Column(length = 512)
    private String wtscqy;
    @OComment("检查状态0未检查，1.待推送，2.已检查")
    @Column(length = 4)
    private String checkStatus;
    @OComment("型号规格")
    @Column(length = 20480)
    private String xhgg;
    @OComment("核查依据")
    @Column(length = 64)
    private String hcyj;
    @OComment("申请人名称")
    @Column(length = 128)
    private String sqrmc;
    @Transient
    private List<FileBean> fileBeanList;
}
